package a.f.l;

import a.c.ab;
import a.c.bb;
import a.c.e;
import a.c.k;
import a.c.m;
import a.f.*;
import a.f.o;
import a.f.r;

import java.awt.geom.Rectangle2D.Double;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

import a.f.l.x;
import a.f.l.cb;
import a.f.l.z;

class n
  extends r
{
  public static final byte g = 0;
  public static final byte h = 4;
  public static final byte i = 2;
  private o j;
  private tb k;
  private a.c.x l;
  private a.c.n m;
  private a.c.x n;
  private a.c.q o;
  private a.c.n p;
  private a.c.n q;
  private a.c.z r;
  private a.c.z s;
  private k t;
  private k u;
  private k v;
  private sb w;
  private a.c.x x;
  private a.c.x y;
  private a.c.z z;
  private static final byte A = 1;
  private static final byte B = 10;
  private static final byte C = 2;
  private static final byte D = 20;
  private static final byte E = 8;
  private static final byte F = 80;
  private static final byte G = 4;
  private static final byte H = 40;
  private static final double I = 0.01D;
  boolean J;
  boolean K;
  boolean L;
  a.d.w M;
  int N;
  int O;
  double P;
  byte Q;
  Object R = rc.c;
  Object S = rc.d;
  Set T;
  
  public void doLayout(o paramo)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    if (i2 == 0)
    {
      if (this.Q == 2)
      {
        if (i2 != 0) {
          break label144;
        }
        localObject1 = this.S;
        localObject2 = paramo.c(localObject1);
        if (localObject2 == null) {
          throw new IllegalStateException("No DataProvider " + localObject1 + " registered with graph!");
        }
      }
      else
      {
        if (i2 != 0) {
          break label144;
        }
      }
    }
    else if (this.Q == 4)
    {
      if (i2 != 0) {
        break label144;
      }
      localObject1 = this.R;
      localObject2 = paramo.c(localObject1);
      if (localObject2 == null) {
        throw new IllegalStateException("No DataProvider " + localObject1 + " registered with graph!");
      }
    }
    label144:
    Object localObject1 = a();
    if ((i2 != 0) || (localObject1 != null)) {
      ((rc)localObject1).doLayout(paramo);
    }
    if (i2 == 0)
    {
      if (paramo.m() == 0) {
        return;
      }
      this.j = paramo;
      this.q = paramo.C();
    }
    Object localObject2 = paramo.w();
    if (((m)localObject2).e()) {}
    do
    {
      this.q.a(((m)localObject2).a(), new q(((m)localObject2).a()));
      ((m)localObject2).f();
      if (i2 != 0) {
        break label348;
      }
      if (i1 != 0) {
        break label339;
      }
      if (i1 == 0) {
        break;
      }
      b();
      this.o = new a.c.q();
      this.n = this.o.B();
      this.l = this.o.B();
      this.m = this.o.C();
      this.k = new tb();
      this.p = paramo.C();
      c(paramo);
      d();
      c();
    } while (i2 != 0);
    e();
    label339:
    if (i2 == 0) {
      switch (this.Q)
      {
      case 4: 
        h();
        if (i2 != 0) {
          return;
        }
        if (i1 == 0) {
          break;
        }
      case 2: 
        label348:
        i();
        if (i2 != 0) {
          return;
        }
        if (i1 == 0) {
          break;
        }
      }
    } else {
      f();
    }
    g();
    paramo.a(this.p);
    paramo.a(this.q);
    this.w = null;
    this.u = null;
    this.t = null;
    this.v = null;
    this.u = null;
    this.s = null;
    this.r = null;
    this.x = null;
  }
  
  public boolean canLayout(o paramo)
  {
    rc localrc = a();
    if (g.Cc == 0) {}
    return localrc == null ? true : localrc.canLayout(paramo);
  }
  
  public void a(byte paramByte)
  {
    this.Q = paramByte;
  }
  
  private void b()
  {
    int i3 = g.Cc;
    int i2 = g.Bc;
    m localm = this.j.w();
    label104:
    do
    {
      if (!localm.e()) {
        break;
      }
      a.c.d locald = localm.a();
      q localq = (q)this.q.get(locald);
      cd localcd1 = cd.d(this.j, locald);
      cd localcd2 = cd.e(this.j, locald);
      if (i3 == 0) {
        if (localcd1 != null)
        {
          if (i3 != 0) {
            break label104;
          }
          if (localcd1.a()) {
            localq.b(true, true);
          }
        }
      }
      if ((i3 != 0) || (localcd2 != null))
      {
        if (i3 != 0) {
          break label143;
        }
        if (localcd2.a()) {
          localq.b(false, true);
        }
      }
      if (i3 == 0) {}
      int i1 = this.j.m(locald).size() == 0 ? 1 : 0;
      if (i3 == 0) {
        if (i1 != 0)
        {
          if (i3 != 0) {
            break label215;
          }
          if (localq.b(true))
          {
            if (i3 != 0) {
              break label215;
            }
            if (!localq.b(false))
            {
              localq.c(false, true);
              if (i3 != 0) {
                continue;
              }
              if (i2 == 0) {
                break label258;
              }
            }
          }
        }
      }
      if (i3 == 0)
      {
        if (i1 != 0)
        {
          if (i3 != 0) {
            continue;
          }
          if (!localq.b(true))
          {
            if (i3 != 0) {
              continue;
            }
            if (localq.b(false)) {
              localq.c(true, true);
            }
          }
        }
        localm.f();
      }
    } while (i2 == 0);
    label143:
    label215:
    return;
  }
  
  byte b(byte paramByte)
  {
    if (g.Cc == 0) {}
    switch (paramByte)
    {
    case 1: 
      return 4;
    case 4: 
      return 2;
    case 2: 
      return 8;
    case 8: 
      return 1;
    }
    throw new IllegalArgumentException("" + paramByte);
  }
  
  private void c()
  {
    int i4 = g.Cc;
    int i3 = g.Bc;
    a.c.q localq = new a.c.q();
    if (i4 == 0)
    {
      if (this.x != null) {
        localq.a(this.x);
      }
      this.x = localq.B();
    }
    this.w = new sb();
    int i1 = 0;
    a.c.y localy1 = this.s.h();
    if (localy1.e()) {
      i1++;
    }
    x localx1;
    e locale1;
    while (i4 != 0)
    {
      localx1 = (x)localy1.j();
      if (i4 != 0) {
        break label165;
      }
      if (i3 != 0) {
        break label164;
      }
      if (localx1.h() != localx1.i())
      {
        locale1 = localq.i();
        this.w.a(localx1, locale1);
        this.x.a(locale1, localx1);
      }
      localy1.f();
      if (i3 == 0) {
        break;
      }
    }
    label164:
    i1 = 0;
    label165:
    localy1 = this.r.h();
    if (localy1.e()) {
      label179:
      i1++;
    }
    label497:
    while (i4 != 0)
    {
      localx1 = (x)localy1.j();
      if (localx1.h() != localx1.i())
      {
        locale1 = localq.i();
        this.w.a(localx1, locale1);
        this.x.a(locale1, localx1);
        Rectangle2D.Double localDouble1 = new Rectangle2D.Double(localx1.a.a, localx1.a.b, localx1.b.a - localx1.a.a, localx1.b.b - localx1.a.b);
        a.c.y localy2 = ((a.c.z)this.v.get(localx1)).h();
        int i2 = 0;
        do
        {
          if (!localy2.e()) {
            break label497;
          }
          x localx2 = (x)localy2.j();
          if (i3 != 0) {
            break;
          }
          if (localx2.h() != localx2.i())
          {
            Rectangle2D.Double localDouble2 = new Rectangle2D.Double(localx2.a.a, localx2.a.b, localx2.b.a - localx2.a.a, localx2.b.b - localx2.a.b);
            e locale2 = (e)this.w.get(localx2);
            if (i4 != 0) {
              continue;
            }
            if (locale2 != null)
            {
              if (i4 != 0) {
                continue;
              }
              if (localDouble1.intersects(localDouble2)) {
                localq.a(locale1, (e)this.w.get(localx2));
              }
            }
          }
          localy2.f();
        } while (i3 == 0);
      }
      localy1.f();
      if (i4 != 0) {
        break label179;
      }
      if (i3 == 0) {
        break;
      }
    }
  }
  
  private void d()
  {
    int i1 = g.Cc;
    eb localeb = new eb(this.j, new ab());
    if (i1 == 0)
    {
      if (this.L)
      {
        localeb.a(5 * this.N);
        localeb.c(0.5D);
        if (i1 != 0) {
          return;
        }
      }
    }
    else {
      if (g.Bc == 0) {
        break label70;
      }
    }
    localeb.c(this.P);
    label70:
    localeb.c(true);
    localeb.a((byte)8);
    localeb.r();
    this.r = localeb.d();
    this.s = localeb.e();
    this.t = localeb.f();
    this.u = localeb.g();
    this.v = localeb.h();
  }
  
  boolean a(String paramString, Object paramObject)
  {
    int i1 = g.Cc;
    boolean bool = false;
    if (i1 == 0) {
      if (paramString.equals("TT"))
      {
        if (i1 != 0) {
          break label97;
        }
        if (!(paramObject instanceof Boolean)) {
          return bool;
        }
        this.K = ((Boolean)paramObject).booleanValue();
        bool = true;
        if (i1 != 0) {
          break label97;
        }
        if (g.Bc == 0) {
          return bool;
        }
      }
    }
    if (i1 == 0) {
      if (paramString.equals("addS"))
      {
        if (i1 != 0) {
          break label97;
        }
        if ((paramObject instanceof Boolean))
        {
          this.J = ((Boolean)paramObject).booleanValue();
          bool = true;
        }
      }
    }
    label97:
    return bool;
  }
  
  void e()
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    m localm = this.j.w();
    do
    {
      if (!localm.e()) {
        break;
      }
      a.c.d locald = localm.a();
      if (i2 == 0)
      {
        if (!this.p.getBool(locald)) {
          a(locald);
        }
        localm.f();
      }
    } while (i1 == 0);
  }
  
  private void a(a.c.d paramd)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    a.d.v localv = null;
    a.d.n localn1 = null;
    a.d.n localn2 = null;
    Object localObject2 = null;
    e locale = paramd.e();
    q localq = (q)this.q.get(paramd);
    if ((i2 != 0) || (localq == null))
    {
      localq = new q(paramd);
      this.q.a(paramd, localq);
    }
    localv = this.j.n(paramd).l();
    localn1 = localv.a();
    a.d.w localw1 = localn1.d();
    a.d.w localw2 = localn1.e();
    if (i2 == 0) {
      if (this.j.v(locale).a(localw1))
      {
        if (i2 != 0) {
          break label164;
        }
        if (this.j.v(locale).a(localw2))
        {
          this.p.a(paramd, true);
          return;
        }
      }
    }
    label164:
    Object localObject1 = a(paramd, localw1, localw2, locale);
    if (i2 == 0) {
      if (localObject1 == null)
      {
        this.p.a(paramd, true);
        return;
      }
    }
    if (i2 == 0) {
      if (((z)localObject1).l())
      {
        ((z)localObject1).a(paramd, localw1.a, localw1.b, localw2.b);
        if (i2 != 0) {
          break label273;
        }
        if (i1 == 0) {
          break label255;
        }
      }
    }
    ((z)localObject1).a(paramd, localw1.b, localw1.a, localw2.a);
    label255:
    this.k.a(localn1, localObject1);
    localq.a(localn1);
    label273:
    localv.f();
    if (localv.e())
    {
      localn2 = localv.a();
      localw1 = localn2.d();
      localw2 = localn2.e();
    }
    label403:
    label434:
    while (i2 != 0)
    {
      z localz = a(paramd, localw1, localw2, (z)localObject1);
      if (i2 == 0) {
        if (localz == null)
        {
          this.p.a(paramd, true);
          return;
        }
      }
      if (i2 == 0) {
        if (localz.l())
        {
          localz.a(paramd, localw1.a, localw1.b, localw2.b);
          if (i2 != 0) {
            break label434;
          }
          if (i1 == 0) {
            break label403;
          }
        }
      }
      localz.a(paramd, localw1.b, localw1.a, localw2.a);
      this.k.a(localn2, localz);
      localq.a(localn2);
      localObject1 = localz;
      localv.f();
      if (i1 == 0) {
        break;
      }
    }
  }
  
  private z a(a.c.d paramd, a.d.w paramw1, a.d.w paramw2, e parame)
  {
    int i4 = g.Cc;
    int i3 = g.Bc;
    byte[] arrayOfByte = { 1, 2, 8, 4 };
    Object localObject = null;
    nb localnb = (nb)this.u.get(parame);
    int i1 = a(parame, paramw1, paramw2);
    if (i1 == -9) {
      return null;
    }
    a.c.z localz = null;
    double d = 0.0D;
    switch (arrayOfByte[i1])
    {
    case 1: 
      localz = localnb.a;
      d = paramw1.a;
      break;
    case 2: 
      localz = localnb.c;
      d = paramw1.a;
      break;
    case 8: 
      localz = localnb.e;
      d = paramw1.b;
      break;
    case 4: 
      localz = localnb.g;
      d = paramw1.b;
    }
    int i2 = 0;
    a.c.y localy = localz.h();
    if ((localy.e()) && (i2 == 0)) {}
    label274:
    while (i4 != 0)
    {
      z localz1 = (z)localy.j();
      if (i4 == 0)
      {
        if (d >= localz1.h())
        {
          if (i4 != 0) {
            break label274;
          }
          if (d < localz1.i())
          {
            i2 = 1;
            localObject = localz1;
          }
        }
        localy.f();
      }
      if (i3 == 0) {
        break;
      }
    }
    return localObject;
  }
  
  private z a(a.c.d paramd, a.d.w paramw1, a.d.w paramw2, z paramz)
  {
    int i3 = g.Cc;
    int i2 = g.Bc;
    Object localObject = null;
    e locale = (e)this.w.get(paramz);
    double d = paramz.l() ? paramw1.b : paramw1.a;
    int i1 = 0;
    m localm = locale.l();
    if ((localm.e()) && (i1 == 0)) {}
    label147:
    while (i3 != 0)
    {
      z localz = (z)this.x.get(localm.a().a(locale));
      if (i3 == 0)
      {
        if (d >= localz.h())
        {
          if (i3 != 0) {
            break label147;
          }
          if (d < localz.i())
          {
            i1 = 1;
            localObject = localz;
          }
        }
        localm.f();
      }
      if (i2 == 0) {
        break;
      }
    }
    return localObject;
  }
  
  private int a(e parame, a.d.w paramw1, a.d.w paramw2)
  {
    int i3 = g.Cc;
    int i2 = g.Bc;
    double d;
    if (i3 == 0) {
      if (Math.abs(paramw1.a - paramw2.a) < 0.01D)
      {
        d = this.j.q(parame) + this.j.t(parame) / 2.0D;
        if (i3 == 0) {}
        i1 = paramw2.b <= d ? 0 : 1;
        if (i3 != 0) {
          break label174;
        }
        if (i2 == 0) {
          break label172;
        }
      }
    }
    if (i3 == 0) {
      if (Math.abs(paramw1.b - paramw2.b) < 0.01D)
      {
        d = this.j.p(parame) + this.j.s(parame) / 2.0D;
        if (i3 == 0) {}
        i1 = paramw2.a <= d ? 2 : 3;
        if (i3 != 0) {
          break label174;
        }
        if (i2 == 0) {
          break label172;
        }
      }
    }
    int i1 = -9;
    label172:
    label174:
    return i1;
  }
  
  void f()
  {
    int i3 = g.Cc;
    int i2 = g.Bc;
    a.i.a.d locald = new a.i.a.d(this.j);
    this.y = this.j.B();
    Object localObject1 = this.j.v();
    e locale;
    Object localObject2;
    int i1;
    do
    {
      if (!((a.c.w)localObject1).e()) {
        break;
      }
      locale = ((a.c.w)localObject1).d();
      localObject2 = new d_(locale, null);
      this.y.a(locale, localObject2);
      i1 = ((d_)localObject2).e().size();
      if (i2 != 0) {
        break label130;
      }
      if (i1 > 0) {
        locald.a(locale, -i1);
      }
      ((a.c.w)localObject1).f();
    } while (i2 == 0);
    label130:
    label434:
    label441:
    label717:
    label725:
    label732:
    label735:
    label736:
    while (i3 == 0)
    {
      if (!locald.a())
      {
        locale = locald.b();
        localObject1 = (d_)this.y.get(locale);
        a(locale, ((d_)localObject1).e());
        this.o.o();
        if (i2 == 0)
        {
          if (((d_)localObject1).d())
          {
            i1 = ((d_)localObject1).e().size();
            if (i3 == 0) {
              if (i1 > 0)
              {
                locald.d(locale, -i1);
                if (i3 == 0) {
                  if (i2 == 0) {
                    continue;
                  }
                }
              }
              else
              {
                locald.c();
              }
            }
            if (i3 == 0) {
              if (i2 == 0) {
                continue;
              }
            }
          }
          else
          {
            locald.c();
          }
          if (i2 == 0) {
            continue;
          }
        }
      }
      else
      {
        if (i3 != 0) {
          break label736;
        }
      }
      label373:
      label502:
      if (this.K)
      {
        localObject1 = this.j.v();
        label380:
        do
        {
          do
          {
            if (!((a.c.w)localObject1).e()) {
              break;
            }
            locale = ((a.c.w)localObject1).d();
            localObject2 = (nb)this.u.get(locale);
            if (i2 != 0) {
              break label630;
            }
            Object localObject3 = ((nb)localObject2).a.h();
            do
            {
              do
              {
                if (!((a.c.y)localObject3).e()) {
                  break;
                }
                ((z)((a.c.y)localObject3).j()).j(false);
                ((a.c.y)localObject3).f();
                if (i3 != 0) {
                  break label380;
                }
                if (i2 != 0) {
                  break label373;
                }
              } while (i2 == 0);
            } while (i3 != 0);
            localObject3 = ((nb)localObject2).c.h();
            do
            {
              do
              {
                if (!((a.c.y)localObject3).e()) {
                  break;
                }
                ((z)((a.c.y)localObject3).j()).j(true);
                ((a.c.y)localObject3).f();
                if (i3 != 0) {
                  break label441;
                }
                if (i2 != 0) {
                  break label434;
                }
              } while (i2 == 0);
            } while (i3 != 0);
            localObject3 = ((nb)localObject2).e.h();
            do
            {
              do
              {
                if (!((a.c.y)localObject3).e()) {
                  break;
                }
                ((z)((a.c.y)localObject3).j()).j(false);
                ((a.c.y)localObject3).f();
                if (i3 != 0) {
                  break label502;
                }
                if (i2 != 0) {
                  break label495;
                }
              } while (i2 == 0);
            } while (i3 != 0);
            localObject3 = ((nb)localObject2).g.h();
            do
            {
              if (!((a.c.y)localObject3).e()) {
                break label541;
              }
              ((z)((a.c.y)localObject3).j()).j(true);
              ((a.c.y)localObject3).f();
              if ((i3 == 0) && (i2 != 0)) {
                break;
              }
            } while (i2 == 0);
            localObject3 = (d_)this.y.get(locale);
            ((d_)localObject3).c();
            i1 = ((d_)localObject3).e().size();
          } while (i3 != 0);
          if (i3 == 0)
          {
            if (i1 > 0) {
              locald.a(locale, -i1);
            }
            ((a.c.w)localObject1).f();
          }
        } while (i2 == 0);
      }
      label495:
      label630:
      do
      {
        do
        {
          do
          {
            do
            {
              if (i3 != 0) {
                break label752;
              }
              if (locald.a()) {
                break label735;
              }
              locale = locald.b();
              localObject1 = (d_)this.y.get(locale);
              a(locale, ((d_)localObject1).e());
              this.o.o();
              if ((i3 == 0) && (i2 != 0)) {
                return;
              }
              if (i3 != 0) {
                break label732;
              }
              if (!((d_)localObject1).d()) {
                break label725;
              }
              i1 = ((d_)localObject1).e().size();
              if (i3 != 0) {
                break label717;
              }
              if (i1 <= 0) {
                break;
              }
              locald.d(locale, -i1);
              if (i3 != 0) {
                break label717;
              }
            } while (i2 == 0);
            locald.c();
            if (i3 != 0) {
              break label732;
            }
          } while (i2 == 0);
          locald.c();
        } while (i2 == 0);
        this.j.a(this.y);
      } while (i3 != 0);
    }
    label541:
    label752:
    locald.e();
  }
  
  void c(o paramo)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    this.T = new HashSet();
    m localm = paramo.w();
    do
    {
      if (!localm.e()) {
        break;
      }
      a.c.d locald1 = localm.a();
      if (locald1.g())
      {
        a.c.z localz1 = paramo.o(locald1);
        if ((i2 != 0) || (localz1.size() >= 5))
        {
          a.c.z localz2 = new a.c.z();
          localz2.add(localz1.b());
          localz2.add(localz1.b());
          localz2.add(localz1.a());
          e locale = paramo.i();
          paramo.b(locale, 1.0D, 1.0D);
          paramo.a(locale, (a.d.w)localz1.a());
          a.c.d locald2 = paramo.a(locald1.e(), locale);
          q localq = new q(locald2);
          boolean bool1 = ((q)this.q.get(locald1)).b(true);
          if (i2 == 0) {
            if (bool1) {
              localq.b(true, true);
            }
          }
          boolean bool2 = ((q)this.q.get(locald1)).b(false);
          if (i2 == 0)
          {
            if (bool2) {
              localq.b(false, true);
            }
            this.q.a(locald2, localq);
            paramo.a(locald2, localz2);
            paramo.a(locald1, locale, locald1.f());
            paramo.a(locald1, localz1);
          }
          this.T.add(locale);
        }
      }
      localm.f();
    } while (i1 == 0);
  }
  
  void g()
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    Iterator localIterator = this.T.iterator();
    if (localIterator.hasNext()) {}
    while (i2 != 0)
    {
      e locale = (e)localIterator.next();
      a.c.d locald1 = locale.h();
      a.c.d locald2 = locale.i();
      a.c.z localz1 = this.j.o(locald1);
      a.c.z localz2 = this.j.o(locald2);
      localz2.e();
      localz2.a(localz1);
      this.j.a(locald2);
      this.j.a(locald1, locald2.e(), locald1.f());
      this.j.a(locale);
      this.j.a(locald1, localz2);
      if ((i2 == 0) && (i1 != 0)) {
        return;
      }
      if (i1 == 0) {
        break;
      }
    }
    this.T = null;
  }
  
  void h()
  {
    int i3 = g.Cc;
    int i2 = g.Bc;
    a.i.a.d locald = new a.i.a.d(this.j);
    this.y = this.j.B();
    k localk = this.j.c(this.R);
    Object localObject1 = this.j.v();
    e locale;
    Object localObject2;
    int i1;
    do
    {
      if (!((a.c.w)localObject1).e()) {
        break;
      }
      locale = ((a.c.w)localObject1).d();
      if (i2 != 0) {
        break label159;
      }
      if (localk.getBool(locale))
      {
        localObject2 = new d_(locale, null);
        this.y.a(locale, localObject2);
        i1 = ((d_)localObject2).e().size();
        if (i3 != 0) {
          continue;
        }
        if (i1 > 0) {
          locald.a(locale, -i1);
        }
      }
      ((a.c.w)localObject1).f();
    } while (i2 == 0);
    label771:
    while (i3 == 0)
    {
      if (!locald.a())
      {
        label159:
        locale = locald.b();
        localObject1 = (d_)this.y.get(locale);
        a(locale, ((d_)localObject1).e());
        this.o.o();
        if (i2 == 0)
        {
          if (((d_)localObject1).d())
          {
            i1 = ((d_)localObject1).e().size();
            if (i3 == 0) {
              if (i1 > 0)
              {
                locald.d(locale, -i1);
                if (i3 == 0) {
                  if (i2 == 0) {
                    continue;
                  }
                }
              }
              else
              {
                locald.c();
              }
            }
            if (i3 == 0) {
              if (i2 == 0) {
                continue;
              }
            }
          }
          else
          {
            locald.c();
          }
          if (i2 == 0) {
            continue;
          }
        }
      }
      else
      {
        if (i3 != 0) {
          break label771;
        }
      }
      if (this.K)
      {
        localObject1 = this.j.v();
        label413:
        label420:
        label474:
        label481:
        label633:
        label635:
        do
        {
          if (!((a.c.w)localObject1).e()) {
            break;
          }
          locale = ((a.c.w)localObject1).d();
          if (i2 != 0) {
            break label647;
          }
          if (localk.getBool(locale))
          {
            localObject2 = (nb)this.u.get(locale);
            Object localObject3 = ((nb)localObject2).a.h();
            do
            {
              do
              {
                if (!((a.c.y)localObject3).e()) {
                  break;
                }
                ((z)((a.c.y)localObject3).j()).j(false);
                ((a.c.y)localObject3).f();
                if (i3 != 0) {
                  break label420;
                }
                if (i2 != 0) {
                  break label413;
                }
              } while (i2 == 0);
            } while (i3 != 0);
            localObject3 = ((nb)localObject2).c.h();
            do
            {
              do
              {
                if (!((a.c.y)localObject3).e()) {
                  break;
                }
                ((z)((a.c.y)localObject3).j()).j(true);
                ((a.c.y)localObject3).f();
                if (i3 != 0) {
                  break label481;
                }
                if (i2 != 0) {
                  break label474;
                }
              } while (i2 == 0);
            } while (i3 != 0);
            localObject3 = ((nb)localObject2).e.h();
            do
            {
              do
              {
                if (!((a.c.y)localObject3).e()) {
                  break;
                }
                ((z)((a.c.y)localObject3).j()).j(false);
                ((a.c.y)localObject3).f();
                if (i3 != 0) {
                  break label542;
                }
                if (i2 != 0) {
                  break label535;
                }
              } while (i2 == 0);
            } while (i3 != 0);
            localObject3 = ((nb)localObject2).g.h();
            do
            {
              if (!((a.c.y)localObject3).e()) {
                break;
              }
              ((z)((a.c.y)localObject3).j()).j(true);
              ((a.c.y)localObject3).f();
              if (i3 != 0) {
                break label635;
              }
              if (i2 != 0) {
                break label633;
              }
            } while (i2 == 0);
            localObject3 = (d_)this.y.get(locale);
            ((d_)localObject3).c();
            i1 = ((d_)localObject3).e().size();
            if (i3 != 0) {
              continue;
            }
            if (i1 > 0) {
              locald.a(locale, -i1);
            }
          }
          ((a.c.w)localObject1).f();
        } while (i2 == 0);
        label535:
        label542:
        if (i3 != 0) {
          break;
        }
        label647:
        if (locald.a()) {}
      }
      label752:
      label767:
      do
      {
        locale = locald.b();
        localObject1 = (d_)this.y.get(locale);
        a(locale, ((d_)localObject1).e());
        this.o.o();
        if ((i3 == 0) && (i2 != 0)) {
          return;
        }
        if (i3 == 0)
        {
          if (((d_)localObject1).d())
          {
            i1 = ((d_)localObject1).e().size();
            if (i3 == 0)
            {
              if (i1 > 0)
              {
                locald.d(locale, -i1);
                if (i3 != 0) {
                  break label752;
                }
                if (i2 == 0) {
                  break;
                }
              }
              locald.c();
            }
            if (i3 != 0) {
              break label767;
            }
            if (i2 == 0) {
              break;
            }
          }
          locald.c();
        }
        if (i2 == 0) {
          break;
        }
        this.j.a(this.y);
      } while (i3 != 0);
    }
    locald.e();
  }
  
  void i()
  {
    int i3 = g.Cc;
    int i2 = g.Bc;
    bb localbb = new bb();
    k localk = this.j.c(this.S);
    a.c.x localx = this.j.B();
    Object localObject1 = this.j.v();
    label186:
    label200:
    do
    {
      if (!((a.c.w)localObject1).e()) {
        break;
      }
      localObject2 = ((a.c.w)localObject1).d();
      if (i2 != 0) {
        break label216;
      }
      m localm = ((e)localObject2).l();
      do
      {
        do
        {
          if (!localm.e()) {
            break label186;
          }
          localObject3 = localm.a();
          if (i2 != 0) {
            break;
          }
          if (!this.p.getBool(localObject3))
          {
            if (i3 != 0) {
              continue;
            }
            if (localk.getBool(localObject3))
            {
              if (i3 != 0) {
                continue;
              }
              if (!localx.getBool(localObject2))
              {
                localbb.add(localObject2);
                localx.a(localObject2, true);
                if (i3 != 0) {
                  break label200;
                }
                if (i2 == 0) {
                  break label186;
                }
              }
            }
          }
          localm.f();
        } while (i2 == 0);
        ((a.c.w)localObject1).f();
      } while (i3 != 0);
    } while (i2 == 0);
    if (i3 == 0) {
      this.j.a(localx);
    }
    label216:
    Object localObject2 = new a.i.a.d(this.j);
    this.y = this.j.B();
    Object localObject3 = localbb.l();
    Object localObject4;
    int i1;
    do
    {
      if (!((a.c.w)localObject3).e()) {
        break;
      }
      localObject1 = ((a.c.w)localObject3).d();
      localObject4 = new d_((e)localObject1, localk);
      this.y.a(localObject1, localObject4);
      i1 = ((d_)localObject4).e().size();
      if (i2 != 0) {
        break label343;
      }
      if (i1 > 0) {
        ((a.i.a.d)localObject2).a((e)localObject1, -i1);
      }
      ((a.c.w)localObject3).f();
    } while (i2 == 0);
    for (;;)
    {
      if (i3 == 0)
      {
        if (!((a.i.a.d)localObject2).a())
        {
          label343:
          localObject1 = ((a.i.a.d)localObject2).b();
          localObject3 = (d_)this.y.get(localObject1);
          a((e)localObject1, ((d_)localObject3).e());
          this.o.o();
          if (i2 == 0)
          {
            if (((d_)localObject3).d())
            {
              i1 = ((d_)localObject3).e().size();
              if (i3 == 0) {
                if (i1 > 0)
                {
                  ((a.i.a.d)localObject2).d((e)localObject1, -i1);
                  if (i3 == 0) {
                    if (i2 == 0) {
                      continue;
                    }
                  }
                }
                else
                {
                  ((a.i.a.d)localObject2).c();
                }
              }
              if (i3 == 0) {
                if (i2 == 0) {
                  continue;
                }
              }
            }
            else
            {
              ((a.i.a.d)localObject2).c();
            }
            if (i2 == 0) {
              continue;
            }
          }
        }
        else
        {
          if (i3 != 0) {
            break label977;
          }
        }
        if (this.K)
        {
          localObject3 = localbb.l();
          label596:
          label603:
          label764:
          do
          {
            do
            {
              if (!((a.c.w)localObject3).e()) {
                break;
              }
              localObject1 = ((a.c.w)localObject3).d();
              localObject4 = (nb)this.u.get(localObject1);
              if (i2 != 0) {
                break label863;
              }
              Object localObject5 = ((nb)localObject4).a.h();
              do
              {
                do
                {
                  if (!((a.c.y)localObject5).e()) {
                    break;
                  }
                  ((z)((a.c.y)localObject5).j()).j(false);
                  ((a.c.y)localObject5).f();
                  if (i3 != 0) {
                    break label603;
                  }
                  if (i2 != 0) {
                    break label596;
                  }
                } while (i2 == 0);
              } while (i3 != 0);
              localObject5 = ((nb)localObject4).c.h();
              do
              {
                do
                {
                  if (!((a.c.y)localObject5).e()) {
                    break;
                  }
                  ((z)((a.c.y)localObject5).j()).j(true);
                  ((a.c.y)localObject5).f();
                  if (i3 != 0) {
                    break label664;
                  }
                  if (i2 != 0) {
                    break label657;
                  }
                } while (i2 == 0);
              } while (i3 != 0);
              localObject5 = ((nb)localObject4).e.h();
              do
              {
                do
                {
                  if (!((a.c.y)localObject5).e()) {
                    break;
                  }
                  ((z)((a.c.y)localObject5).j()).j(false);
                  ((a.c.y)localObject5).f();
                  if (i3 != 0) {
                    break label725;
                  }
                  if (i2 != 0) {
                    break label718;
                  }
                } while (i2 == 0);
              } while (i3 != 0);
              localObject5 = ((nb)localObject4).g.h();
              do
              {
                if (!((a.c.y)localObject5).e()) {
                  break label764;
                }
                ((z)((a.c.y)localObject5).j()).j(true);
                ((a.c.y)localObject5).f();
                if ((i3 == 0) && (i2 != 0)) {
                  break;
                }
              } while (i2 == 0);
              localObject5 = (d_)this.y.get(localObject1);
              ((d_)localObject5).c();
              i1 = ((d_)localObject5).e().size();
            } while (i3 != 0);
            if (i3 == 0)
            {
              if (i1 > 0) {
                ((a.i.a.d)localObject2).a((e)localObject1, -i1);
              }
              ((a.c.w)localObject3).f();
            }
          } while (i2 == 0);
          label657:
          label664:
          label718:
          label725:
          if (i3 != 0) {
            break label989;
          }
        }
      }
    }
    label863:
    while (i3 != 0)
    {
      if (!((a.i.a.d)localObject2).a())
      {
        localObject1 = ((a.i.a.d)localObject2).b();
        localObject3 = (d_)this.y.get(localObject1);
        a((e)localObject1, ((d_)localObject3).e());
        this.o.o();
        if ((i3 == 0) && (i2 != 0)) {
          return;
        }
        if (i3 == 0)
        {
          if (((d_)localObject3).d())
          {
            i1 = ((d_)localObject3).e().size();
            if (i3 == 0)
            {
              if (i1 > 0)
              {
                ((a.i.a.d)localObject2).d((e)localObject1, -i1);
                if (i3 != 0) {
                  break label957;
                }
                if (i2 == 0) {
                  break;
                }
              }
              ((a.i.a.d)localObject2).c();
            }
            if (i3 != 0) {
              break label973;
            }
            if (i2 == 0) {
              break;
            }
          }
          ((a.i.a.d)localObject2).c();
        }
        if (i2 == 0) {
          break;
        }
      }
      this.j.a(this.y);
    }
    label957:
    label973:
    label977:
    label989:
    ((a.i.a.d)localObject2).e();
  }
  
  private void a(e parame, ab paramab)
  {
    int i3 = g.Cc;
    int i2 = g.Bc;
    if (paramab.size() < 2) {
      return;
    }
    cb localcb = new cb(this.j, parame);
    paramab.a(localcb);
    d_ locald_ = (d_)this.y.get(parame);
    byte[] arrayOfByte = { 1, 2, 8, 4 };
    nb localnb = (nb)this.u.get(parame);
    a.c.z localz1 = null;
    boolean bool1 = false;
    switch (arrayOfByte[locald_.f()])
    {
    case 1: 
      localz1 = localnb.a;
      bool1 = false;
      break;
    case 2: 
      localz1 = localnb.c;
      bool1 = true;
      break;
    case 8: 
      localz1 = localnb.e;
      bool1 = false;
      break;
    case 4: 
      localz1 = localnb.g;
      bool1 = true;
    }
    gb localgb = new gb(this.j.r(parame));
    localz1.a(localgb);
    a(localz1, bool1);
    sb localsb = new sb();
    int i1 = 0;
    Object localObject1 = null;
    Object localObject2 = localz1.h();
    Object localObject4;
    Object localObject5;
    Object localObject6;
    Object localObject7;
    label441:
    do
    {
      if (!((a.c.y)localObject2).e()) {
        break;
      }
      localObject3 = (z)((a.c.y)localObject2).j();
      a.c.z localz2 = ((z)localObject3).e(bool1);
      do
      {
        if (localz2 != null)
        {
          localObject4 = localz2.h();
          do
          {
            if (!((a.c.y)localObject4).e()) {
              break label441;
            }
            localObject5 = (z.a_)((a.c.y)localObject4).j();
            localObject6 = this.o.i();
            ((z.a_)localObject5).d = ((e)localObject6);
            if (i2 != 0) {
              break;
            }
            if (localObject1 != null) {
              localObject1.c(localObject6);
            }
            localObject7 = new b_();
            ((b_)localObject7).a = true;
            ((b_)localObject7).a(new e_((z)localObject3, ((z.a_)localObject5).a));
            ((b_)localObject7).a(((z.a_)localObject5).c);
            this.n.a(localObject6, localObject7);
            if (i3 == 0) {
              if (localObject1 == null) {
                localsb.a((x)localObject3, localObject6);
              }
            }
            localObject1 = localObject7;
            ((a.c.y)localObject4).f();
          } while (i2 == 0);
        }
        ((a.c.y)localObject2).f();
      } while (i3 != 0);
    } while (i2 == 0);
    localObject1 = null;
    localObject2 = paramab.l();
    label693:
    label700:
    label863:
    label889:
    do
    {
      if (!((m)localObject2).e()) {
        break;
      }
      localObject3 = ((m)localObject2).a();
      boolean bool2 = ((a.c.d)localObject3).e() == parame;
      localObject4 = (q)this.q.get(localObject3);
      if (i3 == 0)
      {
        if (!((q)localObject4).b(bool2))
        {
          if (i3 != 0) {
            continue;
          }
          if (!((q)localObject4).d(bool2))
          {
            if (i3 != 0) {
              continue;
            }
            if (!((q)localObject4).d())
            {
              if (i3 != 0) {
                continue;
              }
              if (!this.p.getBool(localObject3))
              {
                localObject5 = this.o.i();
                ((q)localObject4).a((e)localObject5);
                if (i3 == 0) {
                  if (localObject1 != null) {
                    localObject1.c(localObject5);
                  }
                }
                localObject6 = new b_();
                localObject1 = localObject6;
                ((b_)localObject6).a = false;
                ((b_)localObject6).a(localObject3);
                this.n.a(localObject5, localObject6);
                localObject7 = ((q)localObject4).c();
                if (i3 == 0)
                {
                  if (bool2)
                  {
                    if (i3 != 0) {
                      break label700;
                    }
                    ((a.c.y)localObject7).h();
                  }
                }
                else {
                  if (i2 == 0) {
                    break label693;
                  }
                }
                ((a.c.y)localObject7).i();
                a.d.n localn = (a.d.n)((a.c.y)localObject7).j();
                z localz = (z)this.k.get(localn);
                double d4 = bool1 ? localz.j() : localz.k();
                double d1;
                double d3;
                if (localz.l())
                {
                  d1 = Math.min(localn.d().b, localn.e().b);
                  d2 = Math.max(localn.d().b, localn.e().b);
                  d3 = localn.d().a;
                  if (i3 != 0) {
                    break label863;
                  }
                  if (i2 == 0) {}
                }
                else
                {
                  d1 = Math.min(localn.d().a, localn.e().a);
                  d2 = Math.max(localn.d().a, localn.e().a);
                  d3 = localn.d().b;
                }
                if (i3 == 0)
                {
                  if (bool1) {
                    d1 = d4;
                  }
                }
                else
                {
                  if (i3 != 0) {
                    break label896;
                  }
                  if (i2 == 0) {
                    break label889;
                  }
                }
                double d2 = d4;
                if (i3 == 0)
                {
                  if (((a.c.y)localObject7).k() == 1)
                  {
                    if (i3 != 0) {
                      break label936;
                    }
                    ((b_)localObject6).g = localz.e();
                  }
                }
                else {
                  if (i2 == 0) {
                    break label937;
                  }
                }
                ((b_)localObject6).g = (d2 - d1);
                a((e)localObject5, localz, ((b_)localObject6).g, bool1, d3);
              }
            }
          }
        }
        ((m)localObject2).f();
      }
    } while (i2 == 0);
    label896:
    label936:
    label937:
    localObject2 = null;
    Object localObject3 = this.o.v();
    label1089:
    label1091:
    do
    {
      do
      {
        if (!((a.c.w)localObject3).e()) {
          break label1172;
        }
        e locale = ((a.c.w)localObject3).d();
        localObject4 = (b_)this.n.get(locale);
        if (i2 != 0) {
          break label1184;
        }
        if (!((b_)localObject4).a)
        {
          localObject5 = (a.c.d)((b_)localObject4).a();
          if (i3 == 0) {
            if (this.j.o((a.c.d)localObject5).size() == 2)
            {
              if (i3 != 0) {
                break label1091;
              }
              localObject2 = a(parame, (a.c.d)localObject5, localz1);
              if (i2 == 0) {
                break label1089;
              }
            }
          }
          localObject2 = b(parame, (a.c.d)localObject5, localz1);
          localObject6 = ((a.c.z)localObject2).h();
          do
          {
            if (!((a.c.y)localObject6).e()) {
              break;
            }
            localObject7 = (z)((a.c.y)localObject6).j();
            a(locale, (z)localObject7, ((b_)localObject4).g, bool1);
            ((a.c.y)localObject6).f();
            if (i3 != 0) {
              break label1169;
            }
            if (i2 != 0) {
              break label1167;
            }
          } while (i2 == 0);
        }
      } while (i3 != 0);
      ((a.c.w)localObject3).f();
    } while (i2 == 0);
    label1167:
    label1169:
    label1172:
    if ((i3 != 0) || (!this.o.n())) {
      label1184:
      a(parame, paramab, bool1);
    }
  }
  
  private void a(e parame, ab paramab, boolean paramBoolean)
  {
    int i6 = g.Cc;
    int i5 = g.Bc;
    b_ localb_1 = null;
    this.z = new a.c.z();
    a.c.w localw = this.o.v();
    b_ localb_2 = (b_)this.n.get(localw.d());
    if (i6 == 0) {
      if (!localb_2.a) {
        return;
      }
    }
    double d1 = ((e_)localb_2.a()).b;
    while ((localw.e()) && (((b_)this.n.get(localw.j())).a)) {
      localw.f();
    }
    e locale1;
    do
    {
      do
      {
        if (!localw.e()) {
          break;
        }
        locale1 = localw.d();
        localb_1 = (b_)this.n.get(locale1);
        a(this.z, localb_1.g());
        localw.f();
        if (i6 != 0) {
          break label209;
        }
        if (i5 != 0) {
          break label208;
        }
      } while (i5 == 0);
    } while (i6 != 0);
    localw.h();
    label208:
    label209:
    int i1 = 0;
    Object localObject1;
    e locale2;
    b_ localb_3;
    label419:
    label488:
    label505:
    double d2;
    label512:
    label522:
    label527:
    label530:
    do
    {
      do
      {
        do
        {
          if (!localw.e()) {
            break label530;
          }
          if (i1 != 0) {
            break label530;
          }
          locale1 = localw.d();
          do
          {
            localb_1 = (b_)this.n.get(locale1);
            if (i6 != 0) {
              break label527;
            }
            if (!localb_1.a) {
              break label522;
            }
            b(this.z, localb_1.g());
            int i2 = 0;
            m localm1 = locale1.l();
            do
            {
              if (!localm1.e()) {
                break;
              }
              if (i5 != 0) {
                break label419;
              }
              if (i2 != 0) {
                break;
              }
              localObject1 = localm1.a();
              locale2 = ((a.c.d)localObject1).a(locale1);
              if (i6 == 0)
              {
                if (locale2.c() == 1)
                {
                  localb_3 = (b_)this.n.get(locale2);
                  a(this.z, localb_1.g(), localb_3.g());
                  this.m.a(localObject1, true);
                  this.l.a(locale2, true);
                  i2 = 1;
                }
                localm1.f();
              }
            } while (i5 == 0);
            if (i6 != 0) {
              break label512;
            }
            if (i2 == 0) {
              break label505;
            }
            localm1 = locale1.l();
            do
            {
              if (!localm1.e()) {
                break label488;
              }
              localObject1 = localm1.a();
              if (i5 != 0) {
                break;
              }
              if (!this.m.getBool(localObject1)) {
                this.o.a((a.c.d)localObject1);
              }
              localm1.f();
            } while (i5 == 0);
          } while (i6 != 0);
          this.l.a(locale1, true);
          localw.f();
          if (i6 != 0) {
            break label527;
          }
        } while (i5 == 0);
        i1 = 1;
      } while (i5 == 0);
      d2 = 0.0D;
      d2 = d1;
      localObject1 = new bb();
      locale2 = null;
      localb_3 = null;
    } while (i6 != 0);
    Object localObject2 = null;
    Object localObject3;
    boolean bool1;
    Object localObject6;
    Object localObject7;
    label817:
    label883:
    Object localObject8;
    label982:
    do
    {
      do
      {
        if (!localw.e()) {
          break;
        }
        locale1 = localw.d();
        localb_1 = (b_)this.n.get(locale1);
        if (i5 != 0) {
          break label1247;
        }
        if (!this.l.getBool(locale1))
        {
          localObject3 = new ab();
          ib localib = new ib(locale1, this.n);
          ab localab = new ab(locale1.l());
          localab.a(localib);
          bool1 = false;
          int i3 = 0;
          int i4 = 0;
          localObject6 = new a_();
          ((a_)localObject6).a(locale1);
          m localm2 = localab.l();
          do
          {
            if (!localm2.e()) {
              break;
            }
            if (i5 != 0) {
              break label883;
            }
            if (i3 != 0) {
              break;
            }
            localObject7 = localm2.a();
            locale2 = ((a.c.d)localObject7).a(locale1);
            localb_3 = (b_)this.n.get(locale2);
            double d4 = ((e_)localb_3.a()).b;
            if (i6 == 0) {
              if (!this.l.getBool(locale1))
              {
                if (i6 != 0) {
                  break label817;
                }
                if (b(this.z, localb_3.g(), localb_1.g())) {
                  ((ab)localObject3).add(localObject7);
                }
              }
            }
            if (i6 == 0) {}
            i3 = d4 >= d2 ? 1 : 0;
            if (i6 == 0)
            {
              if (i3 != 0)
              {
                if (i6 != 0) {
                  continue;
                }
                if (((ab)localObject3).isEmpty()) {
                  i3 = 0;
                }
              }
              localm2.f();
            }
          } while (i5 == 0);
          if (i6 != 0) {
            break label1281;
          }
          localObject2 = null;
          do
          {
            if (((ab)localObject3).isEmpty()) {
              break;
            }
            if (i5 != 0) {
              break label982;
            }
            if (bool1) {
              break;
            }
            localObject2 = (a.c.d)((ab)localObject3).e();
            locale2 = ((a.c.d)localObject2).a(locale1);
            bool1 = ((a_)localObject6).b(locale2);
            localb_3 = (b_)this.n.get(locale2);
            d2 = Math.max(d2, ((e_)localb_3.a()).b);
          } while (i5 == 0);
          if (i6 != 0) {
            break label1270;
          }
          bool1 = localObject2 != null;
          if (!bool1) {
            return;
          }
          a(this.z, localb_3.g(), localb_1.g());
          this.m.a(localObject2, true);
          this.l.a(locale1, true);
          this.l.a(locale2, true);
          localm2 = locale2.l();
          do
          {
            if (!localm2.e()) {
              break;
            }
            localObject7 = localm2.a();
            if (i6 != 0) {
              break label1275;
            }
            if (i5 != 0) {
              break label1270;
            }
            if (localObject7 != localObject2)
            {
              localObject8 = ((a.c.d)localObject7).a(locale2);
              this.o.a((a.c.d)localObject7);
              if (i6 != 0) {
                continue;
              }
              if (!this.l.getBool(localObject8))
              {
                if (i6 != 0) {
                  continue;
                }
                if (((e)localObject8).c() == 1)
                {
                  ((bb)localObject1).add(localObject8);
                  a((bb)localObject1);
                }
              }
            }
            localm2.f();
          } while (i5 == 0);
        }
        locale2 = locale1.l().a().a(locale1);
        localb_3 = (b_)this.n.get(locale2);
        if (i6 == 0)
        {
          d2 = Math.max(d2, ((e_)localb_3.a()).b);
          localw.f();
        }
      } while (i5 == 0);
    } while (i6 != 0);
    localw.h();
    label1247:
    label1270:
    label1275:
    label1790:
    do
    {
      if (!localw.e()) {
        break;
      }
      locale1 = localw.d();
      localb_1 = (b_)this.n.get(locale1);
      if (i6 == 0)
      {
        localObject2 = null;
        if (localb_1.a)
        {
          localObject3 = ((e_)localb_1.a()).a;
          double d3 = ((e_)localb_1.a()).b;
          bool1 = false;
          Object localObject4 = locale1.l();
          Object localObject5;
          do
          {
            if (!((m)localObject4).e()) {
              break;
            }
            if (i5 != 0) {
              break label1401;
            }
            if (bool1) {
              break;
            }
            localObject5 = ((m)localObject4).a();
            if (i6 == 0)
            {
              if (this.m.getBool(localObject5))
              {
                localObject2 = localObject5;
                bool1 = true;
              }
              ((m)localObject4).f();
            }
          } while (i5 == 0);
          if (i6 != 0) {
            continue;
          }
          if (bool1)
          {
            locale2 = ((a.c.d)localObject2).a(locale1);
            localb_3 = (b_)this.n.get(locale2);
            localObject4 = (a.c.d)localb_3.a();
            localObject5 = (q)this.q.get(localObject4);
            localObject6 = ((q)localObject5).c();
            boolean bool2 = parame == ((a.c.d)localObject4).e();
            if (i6 == 0)
            {
              if (bool2)
              {
                if (i6 != 0) {
                  break label1526;
                }
                ((a.c.y)localObject6).h();
              }
            }
            else {
              if (i5 == 0) {
                break label1512;
              }
            }
            ((a.c.y)localObject6).i();
            localObject7 = (z)this.k.get(((a.c.y)localObject6).j());
            localObject8 = ((z)localObject7).a((a.c.d)localObject4, paramBoolean);
            if (localObject3 != localObject7)
            {
              if (i6 != 0) {
                break label1608;
              }
              if (localObject8 != null)
              {
                ((z)localObject7).a((z.b_)localObject8);
                ((z)localObject3).a((a.c.d)localObject4, d3, ((z.b_)localObject8).c, ((z.b_)localObject8).e);
                a((a.c.d)localObject4, bool2, d3, (z)localObject3);
                if (i6 != 0) {
                  break label1652;
                }
              }
            }
            if ((i5 != 0) && (localObject8 != null)) {
              if (d3 != ((z.b_)localObject8).b)
              {
                ((z)localObject3).a((z.b_)localObject8, d3);
                a((a.c.d)localObject4, bool2, d3, null);
              }
            }
            if (i6 == 0)
            {
              if (((a.c.y)localObject6).k() == 1)
              {
                ((q)localObject5).g(true);
                if (i6 != 0) {
                  continue;
                }
                if (i5 == 0) {
                  break label1790;
                }
              }
              b((a.c.d)localObject4);
              localObject6 = ((q)localObject5).c();
              if (i6 != 0) {}
            }
            else
            {
              if (bool2)
              {
                ((a.c.y)localObject6).h();
                if (i6 != 0) {
                  break label1745;
                }
                ((a.c.y)localObject6).f();
                if (i5 == 0) {
                  break label1738;
                }
              }
              ((a.c.y)localObject6).i();
            }
            ((a.c.y)localObject6).g();
            a.d.n localn = (a.d.n)((a.c.y)localObject6).j();
            z localz = (z)this.k.get(localn);
            z.b_ localb_ = localz.a((a.c.d)localObject4);
            localz.a(localb_, localn.d(), localn.e());
          }
        }
        localw.f();
      }
    } while (i5 == 0);
    label1281:
    label1401:
    return;
  }
  
  private void b(a.c.d paramd)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    q localq = (q)this.q.get(paramd);
    a.d.v localv = this.j.n(paramd).l();
    a.c.y localy = localq.c();
    a.c.z localz = new a.c.z();
    if (localy.e()) {}
    while (i2 != 0)
    {
      a.d.n localn1 = (a.d.n)localy.j();
      a.d.n localn2 = (a.d.n)localv.j();
      z localz1 = (z)this.k.get(localn1);
      this.k.a(localn1, null);
      this.k.a(localn2, localz1);
      localz.add(localn2);
      localy.f();
      localv.f();
      if ((i2 == 0) && (i1 != 0)) {
        return;
      }
      if (i1 == 0) {
        break;
      }
    }
    localq.a(localz);
  }
  
  private void a(a.c.d paramd, boolean paramBoolean, double paramDouble, z paramz)
  {
    int i1 = g.Cc;
    q localq = (q)this.q.get(paramd);
    a.c.y localy = localq.c();
    if (i1 == 0)
    {
      if (paramBoolean)
      {
        if (i1 != 0) {
          break label68;
        }
        localy.h();
      }
    }
    else {
      if (g.Bc == 0) {
        break label61;
      }
    }
    localy.i();
    label61:
    label68:
    a.d.n localn1 = (a.d.n)localy.j();
    z localz = (z)this.k.get(localn1);
    zb localzb = this.j.b(paramd);
    a.d.w localw1 = null;
    a.d.w localw2 = null;
    if (i1 == 0) {
      if (paramBoolean)
      {
        if (localz.l())
        {
          localw1 = new a.d.w(paramDouble, this.j.r(paramd).b);
          this.j.c(paramd, localw1);
          if (localzb.a() > 0)
          {
            localw2 = new a.d.w(paramDouble, localzb.a(0).b);
            localzb.a(0, localw2.a, localw2.b);
            break label625;
          }
          localw2 = new a.d.w(paramDouble, this.j.s(paramd).b);
          this.j.d(paramd, localw2);
          break label625;
        }
        localw1 = new a.d.w(this.j.r(paramd).a, paramDouble);
        this.j.c(paramd, localw1);
        if (localzb.a() > 0)
        {
          localw2 = new a.d.w(localzb.a(0).a, paramDouble);
          localzb.a(0, localw2.a, localw2.b);
          break label625;
        }
        localw2 = new a.d.w(this.j.s(paramd).a, paramDouble);
        this.j.d(paramd, localw2);
        break label625;
      }
    }
    if (localz.l())
    {
      localw1 = new a.d.w(paramDouble, this.j.s(paramd).b);
      this.j.d(paramd, localw1);
      if (localzb.a() > 0)
      {
        localw2 = new a.d.w(paramDouble, localzb.a(localzb.a() - 1).b);
        localzb.a(localzb.a() - 1, localw2.a, localw2.b);
      }
      else
      {
        localw2 = new a.d.w(paramDouble, this.j.r(paramd).b);
        this.j.c(paramd, localw2);
      }
    }
    else
    {
      localw1 = new a.d.w(this.j.s(paramd).a, paramDouble);
      this.j.d(paramd, localw1);
      if (localzb.a() > 0)
      {
        localw2 = new a.d.w(localzb.a(localzb.a() - 1).a, paramDouble);
        localzb.a(localzb.a() - 1, localw2.a, localw2.b);
      }
      else
      {
        localw2 = new a.d.w(this.j.r(paramd).a, paramDouble);
        this.j.c(paramd, localw2);
      }
    }
    label625:
    a.d.n localn2 = new a.d.n(localw1, localw2);
    this.k.a(localn1, null);
    if (i1 == 0) {}
    this.k.a(localn2, paramz != null ? paramz : localz);
    localq.a(paramBoolean, localn2);
  }
  
  private a.c.z a(e parame, a.c.d paramd, a.c.z paramz)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    a.c.z localz1 = new a.c.z();
    q localq = (q)this.q.get(paramd);
    a.c.y localy1 = localq.c();
    localy1.h();
    x localx1 = (x)this.k.get(localy1.j());
    double d = localx1.e();
    nb localnb1 = (nb)this.t.get(localx1);
    e locale1 = null;
    e locale2 = null;
    a.c.z localz2 = localx1.l() ? localnb1.a : localnb1.e;
    a.c.z localz3 = localx1.l() ? localnb1.c : localnb1.g;
    if (i2 == 0) {
      if (!localz2.isEmpty())
      {
        if (i2 != 0) {
          break label176;
        }
        if (!localz3.isEmpty()) {
          break label171;
        }
      }
    }
    return localz1;
    label171:
    label176:
    locale1 = (e)localz2.a();
    locale2 = (e)localz3.a();
    a.c.y localy2 = paramz.h();
    if (localy2.e()) {}
    label325:
    label338:
    label374:
    while (i2 != 0)
    {
      x localx2 = (x)localy2.j();
      if (i2 == 0)
      {
        if (localx2 != localx1)
        {
          if (i2 != 0) {
            break label374;
          }
          if (localx2.e() == d)
          {
            nb localnb2 = (nb)this.t.get(localx2);
            if (i2 == 0) {
              if (localx1.l())
              {
                locale3 = (e)localnb2.a.a();
                locale4 = (e)localnb2.c.a();
                if (i2 != 0) {
                  break label325;
                }
                if (i1 == 0) {
                  break label338;
                }
              }
            }
            e locale3 = (e)localnb2.e.a();
            e locale4 = (e)localnb2.g.a();
            if ((i2 != 0) || ((locale1 == locale3) && (locale2 == locale4))) {
              localz1.add(localx2);
            }
          }
        }
        localy2.f();
      }
      if (i1 == 0) {
        break;
      }
    }
    return localz1;
  }
  
  private a.c.z b(e parame, a.c.d paramd, a.c.z paramz)
  {
    int i3 = g.Cc;
    int i2 = g.Bc;
    a.c.z localz = new a.c.z();
    q localq = (q)this.q.get(paramd);
    a.c.y localy1 = localq.c();
    int i1 = parame == paramd.e() ? 1 : 0;
    x localx1;
    if (i3 == 0)
    {
      if (i1 != 0)
      {
        localy1.h();
        localx1 = (x)this.k.get(localy1.j());
        localy1.f();
        localn = (a.d.n)localy1.j();
        if (i3 == 0) {
          if (i2 == 0) {
            break label166;
          }
        }
      }
      else
      {
        localy1.i();
      }
    }
    else
    {
      localx1 = (x)this.k.get(localy1.j());
      localy1.g();
    }
    a.d.n localn = (a.d.n)localy1.j();
    label166:
    x localx2 = (x)this.k.get(localn);
    e locale1 = (e)this.w.get(localx2);
    a.c.y localy2 = paramz.h();
    if (localy2.e()) {}
    label297:
    while (i3 != 0)
    {
      x localx3 = (x)localy2.j();
      do
      {
        if (localx3 != localx1)
        {
          e locale2 = (e)this.w.get(localx3);
          a.c.w localw = locale2.o();
          do
          {
            if (!localw.e()) {
              break label297;
            }
            if (i2 != 0) {
              break;
            }
            if (localw.d() == locale1) {
              localz.add(localx3);
            }
            localw.f();
          } while (i2 == 0);
        }
        localy2.f();
      } while (i3 != 0);
      if (i2 == 0) {
        break;
      }
    }
    return localz;
  }
  
  private void a(a.c.z paramz, boolean paramBoolean)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    if (i2 == 0) {
      if (paramz.isEmpty()) {
        return;
      }
    }
    a.c.y localy = paramz.h();
    do
    {
      if (!localy.e()) {
        break;
      }
      z localz = (z)localy.j();
      a(localz, paramBoolean);
      a(localz);
      localy.f();
    } while (i1 == 0);
  }
  
  private void a(z paramz)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    paramz.A();
    e locale = (e)this.w.get(paramz);
    a.c.w localw = locale.o();
    label164:
    do
    {
      do
      {
        if (!localw.e()) {
          break;
        }
        z localz = (z)this.x.get(localw.d());
        if ((i2 != 0) || (localz != null))
        {
          a.c.y localy = localz.w();
          if (i2 != 0) {
            continue;
          }
          if (localy != null) {
            do
            {
              if (!localy.e()) {
                break label164;
              }
              z.b_ localb_ = (z.b_)localy.j();
              if (i1 != 0) {
                break;
              }
              if ((localb_.e > paramz.h()) && (localb_.c < paramz.i())) {
                paramz.b(localb_);
              }
              localy.f();
            } while (i1 == 0);
          }
        }
        localw.f();
      } while (i2 != 0);
    } while (i1 == 0);
  }
  
  private void a(z paramz, boolean paramBoolean)
  {
    int i10 = g.Cc;
    int i9 = g.Bc;
    nb localnb = (nb)this.t.get(paramz);
    if (i10 == 0) {
      if (paramz.l())
      {
        localz1 = paramBoolean ? localnb.a : localnb.c;
        if ((i10 == 0) && (i9 == 0)) {
          break label80;
        }
      }
    }
    a.c.z localz1 = paramBoolean ? localnb.e : localnb.g;
    label80:
    e locale = null;
    if ((i10 != 0) || (!localz1.isEmpty())) {
      locale = (e)localz1.a();
    } else {
      return;
    }
    a.c.y localy1 = paramz.w();
    label393:
    label423:
    label505:
    double d4;
    double d15;
    if ((i10 != 0) || (localy1 != null))
    {
      if (i10 != 0) {
        break label1432;
      }
      if (localy1.k() > 0)
      {
        boolean bool1 = paramz.z();
        paramz.h(true);
        double d1 = ((z.b_)localy1.j()).b;
        if ((i10 != 0) || (this.J))
        {
          a.c.z localz3;
          a.c.y localy3;
          if ((i10 != 0) || (this.L))
          {
            localz3 = a(paramz.h(), d1 - 1.0D, paramz.l());
            if ((i10 != 0) || (localz3 != null)) {
              localy3 = localz3.h();
            }
          }
          else
          {
            while (localy3.e())
            {
              d6 = ((Double)localy3.j()).doubleValue();
              paramz.a(d6, paramz.e(), paramBoolean);
              localy3.f();
              if ((i10 == 0) && (i9 != 0)) {
                return;
              }
              if (i9 != 0)
              {
                localz3 = paramz.k;
                double d5 = paramz.h() - this.P;
                double d8 = d5 - 1.0D;
                if (i10 != 0) {
                  break label1529;
                }
                a.c.y localy5 = localz3.h();
                do
                {
                  if (!localy5.e()) {
                    break;
                  }
                  localObject1 = (z)localy5.j();
                  double d12 = ((z)localObject1).x();
                  if (i9 != 0) {
                    break label393;
                  }
                  if (!Double.isNaN(d12)) {
                    d8 = Math.max(d5, d12);
                  }
                  localy5.f();
                } while (i9 == 0);
                if (i10 == 0) {
                  if (d8 > d5)
                  {
                    d10 = d8 + 2.0D * this.P;
                    break label423;
                  }
                }
                double d10 = paramz.h() + this.P;
                if (i10 != 0) {
                  break label505;
                }
                int i1 = (int)Math.floor((d1 - d10) / (2.0D * this.P));
                if (i1 > 0)
                {
                  int i2 = 1;
                  do
                  {
                    if (i2 > i1) {
                      break;
                    }
                    paramz.a(d1 - i2 * 2 * this.P, paramz.e(), paramBoolean);
                    i2++;
                    if ((i10 == 0) && (i9 != 0)) {
                      return;
                    }
                  } while (i9 == 0);
                }
              }
            }
          }
        }
        d4 = 0.0D;
        double d6 = 0.0D;
        Object localObject1 = null;
        Object localObject2 = null;
        d1 -= 1.0D;
        double d13 = 0.0D;
        d15 = 0.0D;
        int i5 = 0;
        if (i10 != 0) {
          return;
        }
        int i6 = 1;
        if (localy1.e()) {
          localObject1 = (z.b_)localy1.j();
        }
        label640:
        label749:
        while (i10 != 0)
        {
          if (i9 != 0) {
            break label1084;
          }
          Object localObject3;
          if (((z.b_)localObject1).b > d1)
          {
            if (i10 == 0)
            {
              if (i6 == 0)
              {
                if (i10 != 0) {
                  break label640;
                }
                if (i5 == 0)
                {
                  localObject3 = paramz.a(d1, d15 - d13, paramBoolean);
                  ((z.a_)localObject3).e = true;
                }
              }
              d1 = ((z.b_)localObject1).b;
              d13 = paramz.j();
              d15 = paramz.k();
              i5 = 0;
            }
            i6 = 0;
          }
          if (i10 == 0)
          {
            if (i5 == 0)
            {
              boolean bool2;
              if (i10 == 0)
              {
                if (paramBoolean)
                {
                  if (i10 == 0) {
                    if (((z.b_)localObject1).c == paramz.j())
                    {
                      localObject3 = (q)this.q.get(((z.b_)localObject1).a);
                      bool2 = ((z.b_)localObject1).a.e() == locale;
                      if (i10 == 0) {
                        if (!((q)localObject3).b(bool2)) {
                          if (i10 != 0) {
                            break label749;
                          }
                        }
                      }
                      i5 = ((q)localObject3).d(bool2) ? 1 : 0;
                      if ((i10 != 0) || (((z.b_)localObject1).e == paramz.k())) {
                        if (i10 != 0) {}
                      }
                      i5 |= (((q)localObject3).d() ? 1 : 0);
                      if (i10 != 0) {
                        break label1074;
                      }
                      if (i9 == 0) {
                        break label1065;
                      }
                    }
                  }
                  double d16 = ((z.b_)localObject1).c;
                  d16 -= ((i10 != 0) || (this.L) ? this.N : 2.0D * this.P);
                  d15 = Math.min(d15, d16);
                  i5 = 1;
                  if (i10 != 0) {
                    break label1074;
                  }
                  if (i9 == 0) {
                    break label1065;
                  }
                }
                if (i10 != 0) {}
              }
              else if (((z.b_)localObject1).e == paramz.k())
              {
                q localq = (q)this.q.get(((z.b_)localObject1).a);
                bool2 = ((z.b_)localObject1).a.e() == locale;
                if (i10 == 0) {
                  if (!localq.b(bool2)) {
                    if (i10 != 0) {
                      break label956;
                    }
                  }
                }
                i5 = localq.d(bool2) ? 1 : 0;
                if ((i10 != 0) || (((z.b_)localObject1).c == paramz.j())) {
                  if (i10 != 0) {}
                }
                i5 |= (localq.d() ? 1 : 0);
                if (i10 != 0) {
                  break label1074;
                }
                if (i9 == 0) {
                  break label1065;
                }
              }
              double d17 = ((z.b_)localObject1).e;
              d17 += ((i10 != 0) || (this.L) ? this.N : 2.0D * this.P);
              d13 = Math.max(d13, d17);
              i5 = 1;
            }
            localy1.f();
          }
          if (i9 == 0) {
            break;
          }
        }
        label956:
        if (i5 == 0)
        {
          localObject4 = paramz.a(d1, d15 - d13, paramBoolean);
          ((z.a_)localObject4).e = true;
        }
        label1065:
        label1074:
        label1084:
        if ((i10 == 0) && (!this.J)) {
          return;
        }
        if ((i10 != 0) || (this.L))
        {
          localObject4 = a(((z.b_)localObject1).b + 1.0D, paramz.i(), paramz.l());
          if ((i10 == 0) && (localObject4 == null)) {
            return;
          }
          a.c.y localy7 = ((a.c.z)localObject4).h();
          do
          {
            if (!localy7.e()) {
              break;
            }
            double d19 = ((Double)localy7.j()).doubleValue();
            paramz.a(d19, paramz.e(), paramBoolean);
            localy7.f();
          } while (i9 == 0);
        }
        Object localObject4 = paramz.l;
        double d18 = paramz.i() + this.P;
        double d20 = d18 + 1.0D;
        a.c.y localy8 = ((a.c.z)localObject4).h();
        do
        {
          if (!localy8.e()) {
            break;
          }
          z localz6 = (z)localy8.j();
          double d22 = localz6.y();
          if (i9 != 0) {
            break label1321;
          }
          if (!Double.isNaN(d22)) {
            d20 = Math.min(d18, d22);
          }
          localy8.f();
        } while (i9 == 0);
        if (i10 == 0) {
          if (d20 < d18)
          {
            label1321:
            d21 = d20 - 2.0D * this.P;
            break label1351;
          }
        }
        double d21 = paramz.i() - this.P;
        label1351:
        int i7 = (int)Math.floor((d21 - ((z.b_)localObject1).b) / (2.0D * this.P));
        if ((i10 == 0) && (i7 <= 0)) {
          return;
        }
        int i8 = 1;
        do
        {
          if (i8 > i7) {
            break;
          }
          paramz.a(((z.b_)localObject1).b + i8 * 2 * this.P, paramz.e(), paramBoolean);
          i8++;
        } while (i9 == 0);
      }
    }
    label1432:
    if ((i10 != 0) || (this.J))
    {
      a.c.z localz2;
      if ((i10 != 0) || (this.L))
      {
        localz2 = a(paramz);
        if ((i10 != 0) || (localz2 != null))
        {
          a.c.y localy2 = localz2.h();
          do
          {
            if (!localy2.e()) {
              break;
            }
            double d3 = ((Double)localy2.j()).doubleValue();
            paramz.a(d3, paramz.e(), paramBoolean);
            localy2.f();
          } while (i9 == 0);
        }
      }
      else
      {
        label1529:
        localz2 = paramz.k;
        double d2 = paramz.h() - this.P;
        d4 = d2 - 1.0D;
        a.c.y localy4 = localz2.h();
        do
        {
          if (!localy4.e()) {
            break;
          }
          z localz4 = (z)localy4.j();
          d9 = localz4.x();
          if (i9 != 0) {
            break label1628;
          }
          if (!Double.isNaN(d9)) {
            d4 = Math.max(d2, d9);
          }
          localy4.f();
        } while (i9 == 0);
        if (i10 == 0) {
          if (d4 > d2)
          {
            label1628:
            d7 = d4 + 2.0D * this.P;
            break label1658;
          }
        }
        double d7 = paramz.h() + this.P;
        label1658:
        localz2 = paramz.l;
        double d9 = paramz.i() + this.P;
        double d11 = d9 + 1.0D;
        a.c.y localy6 = localz2.h();
        do
        {
          if (!localy6.e()) {
            break;
          }
          z localz5 = (z)localy6.j();
          d15 = localz5.y();
          if (i9 != 0) {
            break label1761;
          }
          if (!Double.isNaN(d15)) {
            d11 = Math.min(d9, d15);
          }
          localy6.f();
        } while (i9 == 0);
        if (i10 == 0) {
          if (d11 < d9)
          {
            label1761:
            d14 = d11 - 2.0D * this.P;
            break label1791;
          }
        }
        double d14 = paramz.i() - this.P;
        label1791:
        int i3 = (int)Math.floor((d14 - d7) / (2.0D * this.P));
        if ((i10 != 0) || (i3 > 0))
        {
          int i4 = 0;
          do
          {
            if (i4 >= i3) {
              break;
            }
            paramz.a(d7 + i4 * 2 * this.P, paramz.e(), paramBoolean);
            i4++;
          } while (i9 == 0);
        }
      }
    }
  }
  
  private a.c.z a(double paramDouble1, double paramDouble2, boolean paramBoolean)
  {
    int i3 = g.Cc;
    int i2 = g.Bc;
    a.c.z localz = null;
    double d1 = paramBoolean ? this.M.a : this.M.b;
    int i1 = (int)Math.floor((paramDouble1 - d1) / this.O);
    double d2 = i1 * this.O + d1;
    if (i3 == 0)
    {
      if (d2 < paramDouble1) {
        d2 += this.O;
      }
      i1 = (int)Math.floor((paramDouble2 - d1) / this.O);
    }
    double d3 = i1 * this.O + d1;
    if (i3 == 0) {
      if (d3 >= paramDouble2) {
        d3 -= this.O;
      }
    }
    if ((i3 != 0) || ((d2 >= paramDouble1) && (d3 < paramDouble2)))
    {
      localz = new a.c.z();
      double d4 = d2;
      do
      {
        if (d4 > d3) {
          break;
        }
        if (i2 != 0) {
          break label216;
        }
        localz.add(new Double(d4));
        d4 += this.O;
      } while (i2 == 0);
    }
    label216:
    return localz;
  }
  
  private a.c.z a(x paramx)
  {
    return a(paramx.h(), paramx.i(), paramx.l());
  }
  
  private void a(e parame, z paramz, double paramDouble1, boolean paramBoolean, double paramDouble2)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    a.c.z localz = paramz.e(paramBoolean);
    if (i2 == 0) {
      if (localz == null) {
        return;
      }
    }
    a.c.y localy = localz.h();
    label137:
    label238:
    do
    {
      if (!localy.e()) {
        break;
      }
      z.a_ locala_ = (z.a_)localy.j();
      if (i2 == 0) {
        if (locala_.a == paramDouble2) {
          if (i2 == 0)
          {
            if (parame.g() == this.o) {
              if (i2 != 0) {
                break label137;
              }
            }
          }
          else if (locala_.d.g() == this.o)
          {
            a.c.d locald1 = this.o.a(parame, locala_.d);
            if (i2 != 0) {
              continue;
            }
            if (i1 == 0) {
              break label238;
            }
          }
        }
      }
      if (i2 == 0)
      {
        if (locala_.c >= paramDouble1)
        {
          double d = paramBoolean ? paramz.j() + paramDouble1 : paramz.k() - paramDouble1;
          b_ localb_ = (b_)this.n.get(parame);
          if (i2 != 0) {
            continue;
          }
          if ((parame.g() == this.o) && ((i2 != 0) || (locala_.d.g() == this.o))) {
            a.c.d locald2 = this.o.a(parame, locala_.d);
          }
        }
        localy.f();
      }
    } while (i1 == 0);
  }
  
  private void a(e parame, z paramz, double paramDouble, boolean paramBoolean)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    a.c.z localz = paramz.e(paramBoolean);
    if (i2 == 0) {
      if (localz == null) {
        return;
      }
    }
    a.c.y localy = localz.h();
    do
    {
      if (!localy.e()) {
        break;
      }
      z.a_ locala_ = (z.a_)localy.j();
      if (i2 == 0)
      {
        if (locala_.c >= paramDouble)
        {
          double d = paramBoolean ? paramz.j() + paramDouble : paramz.k() - paramDouble;
          b_ localb_ = (b_)this.n.get(parame);
          if (i2 != 0) {
            continue;
          }
          if ((!paramz.a(locala_.a, d, (a.c.d)localb_.a())) && ((i2 != 0) || ((parame.g() == this.o) && ((i2 != 0) || (locala_.d.g() == this.o))))) {
            a.c.d locald = this.o.a(parame, locala_.d);
          }
        }
        localy.f();
      }
    } while (i1 == 0);
  }
  
  private void a(a.c.z paramz, double paramDouble)
  {
    int i3 = g.Cc;
    int i2 = g.Bc;
    int i1 = 0;
    a.c.v localv = paramz.f();
    c_ localc_;
    label85:
    do
    {
      do
      {
        double d;
        do
        {
          if (localv == null) {
            break label147;
          }
          if (i2 != 0) {
            break label154;
          }
          if (i1 != 0) {
            break label147;
          }
          localc_ = (c_)localv.c();
          d = localc_.a;
          if (i3 != 0) {
            break label85;
          }
          if (d >= paramDouble) {
            break;
          }
          localv = paramz.c(localv);
        } while ((i3 == 0) && (i2 == 0));
        if (i3 != 0) {
          break label144;
        }
        if (d != paramDouble) {
          break;
        }
        localc_.c += 1;
        i1 = 1;
        if (i3 != 0) {
          break label144;
        }
      } while (i2 == 0);
      localc_ = new c_(paramDouble, 0, 1);
      localv = paramz.a(localc_, localv);
      i1 = 1;
    } while (i2 == 0);
    label144:
    label147:
    if ((i3 == 0) && (i1 == 0))
    {
      label154:
      localc_ = new c_(paramDouble, 0, 1);
      paramz.add(localc_);
    }
  }
  
  private void b(a.c.z paramz, double paramDouble)
  {
    int i3 = g.Cc;
    int i2 = g.Bc;
    int i1 = 0;
    a.c.v localv = paramz.f();
    label92:
    do
    {
      do
      {
        if ((localv == null) || (i1 != 0)) {
          return;
        }
        c_ localc_ = (c_)localv.c();
        double d = localc_.a;
        if (i3 != 0) {
          break label92;
        }
        if (d > paramDouble) {
          break;
        }
        localc_.b += 1;
        localv = paramz.c(localv);
        if (i3 != 0) {
          break label92;
        }
      } while (i2 == 0);
      i1 = 1;
    } while (i2 == 0);
  }
  
  private void c(a.c.z paramz, double paramDouble)
  {
    int i3 = g.Cc;
    int i2 = g.Bc;
    int i1 = 0;
    a.c.v localv = paramz.f();
    label91:
    do
    {
      do
      {
        c_ localc_;
        double d;
        do
        {
          if ((localv == null) || (i1 != 0)) {
            return;
          }
          localc_ = (c_)localv.c();
          d = localc_.a;
          if (i3 != 0) {
            break label91;
          }
          if (d >= paramDouble) {
            break;
          }
          localc_.b -= 1;
          localv = paramz.c(localv);
        } while ((i3 == 0) && (i2 == 0));
        if (i3 != 0) {
          break label139;
        }
        if (d != paramDouble) {
          break;
        }
        localc_.b -= 1;
        localc_.c -= 1;
        i1 = 1;
        if (i3 != 0) {
          break label139;
        }
      } while (i2 == 0);
      i1 = 1;
    } while (i2 == 0);
    label139:
  }
  
  private void a(a.c.z paramz, double paramDouble1, double paramDouble2)
  {
    int i3 = g.Cc;
    int i2 = g.Bc;
    int i1 = 0;
    a.c.y localy = paramz.h();
    do
    {
      if ((!localy.e()) || (i1 != 0)) {
        break;
      }
      c_ localc_ = (c_)localy.j();
      if (i3 == 0) {
        if (localc_.a <= paramDouble1) {
          localc_.b -= 1;
        }
      }
      if (i3 == 0) {
        if (localc_.a == paramDouble2) {
          localc_.c -= 1;
        }
      }
      if (i3 == 0) {
        if (localc_.c == 0) {
          paramz.b(localy);
        }
      }
      if (i3 == 0) {}
      i1 = localc_.a > paramDouble1 ? 1 : 0;
      localy.f();
    } while (i2 == 0);
  }
  
  private boolean b(a.c.z paramz, double paramDouble1, double paramDouble2)
  {
    int i5 = g.Cc;
    int i4 = g.Bc;
    boolean bool = true;
    int i3 = 0;
    a.c.y localy = paramz.h();
    localy.i();
    label153:
    do
    {
      if (!localy.e()) {
        break;
      }
      if (i4 != 0) {
        break label173;
      }
      if (!bool) {
        break;
      }
      c_ localc_ = (c_)localy.j();
      int i2 = localc_.b;
      int i1 = localc_.c;
      if (i5 == 0) {
        if (localc_.a <= paramDouble1) {
          i2--;
        }
      }
      if (i5 == 0)
      {
        if (localc_.a == paramDouble2) {
          i1--;
        }
        i3 += i1;
      }
      if (i5 == 0) {
        if (i1 > 0)
        {
          if (i5 != 0) {
            break label153;
          }
          if (i2 < i3) {
            bool = false;
          }
        }
      }
      if (i5 == 0)
      {
        if (i2 < i1) {
          bool = false;
        }
        localy.g();
      }
    } while (i4 == 0);
    label173:
    return bool;
  }
  
  private void a(bb parambb)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    a.c.w localw = parambb.l();
    label255:
    do
    {
      if (!localw.e()) {
        break;
      }
      e locale1 = localw.d();
      b_ localb_1 = (b_)this.n.get(locale1);
      a.c.d locald1 = locale1.l().a();
      e locale2 = locald1.a(locale1);
      b_ localb_2 = (b_)this.n.get(locale2);
      a(this.z, localb_2.g(), localb_1.g());
      this.m.a(locald1, true);
      this.l.a(locale1, true);
      this.l.a(locale2, true);
      parambb.b(localw);
      m localm = locale2.l();
      do
      {
        do
        {
          if (!localm.e()) {
            break label255;
          }
          a.c.d locald2 = localm.a();
          if (i1 != 0) {
            break;
          }
          if (!this.m.getBool(locald2))
          {
            e locale3 = locald1.a(locale2);
            this.o.a(locald2);
            if (i2 != 0) {
              continue;
            }
            if (!this.l.getBool(locale3))
            {
              if (i2 != 0) {
                continue;
              }
              if (locale3.c() == 1) {
                parambb.add(locale3);
              }
            }
          }
          localm.f();
        } while (i1 == 0);
        localw.f();
      } while (i2 != 0);
    } while (i1 == 0);
  }
  
  d_ a(e parame, k paramk)
  {
    return new d_(parame, paramk);
  }
  
  b_ j()
  {
    return new b_();
  }
  
  e_ a(z paramz, double paramDouble)
  {
    return new e_(paramz, paramDouble);
  }
  
  a_ k()
  {
    return new a_();
  }
  
  c_ a(double paramDouble, int paramInt1, int paramInt2)
  {
    return new c_(paramDouble, paramInt1, paramInt2);
  }
  
  private void l()
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    System.out.println("sightV");
    a.c.y localy = this.r.h();
    if (localy.e()) {}
    while (i2 != 0)
    {
      ((z)localy.j()).v();
      if (i2 != 0) {
        break label84;
      }
      localy.f();
      if (i1 != 0) {
        break label77;
      }
      if (i1 == 0) {
        break;
      }
    }
    System.out.println("sightH");
    label77:
    label84:
    do
    {
      localy = this.s.h();
      while (i1 == 0)
      {
        if (!localy.e()) {
          break;
        }
        ((z)localy.j()).v();
        localy.f();
      }
    } while (i2 != 0);
  }
  
  private void a(a.c.q paramq, String paramString)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    System.out.print(paramString);
    System.out.println(paramq.j() + " nodes, " + paramq.l() + " edges");
    Object localObject;
    do
    {
      localObject = paramq.v();
      while (i1 == 0)
      {
        if (!((a.c.w)localObject).e()) {
          break;
        }
        System.out.println("  node:" + ((a.c.w)localObject).d());
        ((a.c.w)localObject).f();
      }
    } while (i2 != 0);
    do
    {
      localObject = paramq.w();
      while (i1 == 0)
      {
        if (!((m)localObject).e()) {
          break;
        }
        System.out.println("  edge:" + ((m)localObject).a());
        ((m)localObject).f();
      }
    } while (i2 != 0);
  }
  
  private void a(a.c.q paramq, String paramString, boolean paramBoolean)
  {
    int i2 = g.Cc;
    int i1 = g.Bc;
    System.out.print(paramString);
    System.out.println(paramq.j() + " nodes, " + paramq.l() + " edges");
    Object localObject = paramq.v();
    do
    {
      while (i1 == 0)
      {
        if (!((a.c.w)localObject).e()) {
          break;
        }
        System.out.println("  node:" + ((a.c.w)localObject).d());
        ((a.c.w)localObject).f();
      }
    } while (i2 != 0);
    localObject = paramq.w();
    do
    {
      while (i1 == 0)
      {
        if (!((m)localObject).e()) {
          break;
        }
        System.out.println("  edge:" + ((m)localObject).a() + " ; keep = " + this.m.getBool(((m)localObject).a()));
        ((m)localObject).f();
      }
    } while (i2 != 0);
  }
  
  private void a(a.c.z paramz)
  {
    int i1 = g.Bc;
    System.out.println("____DEBUG_printCapacityAndDemand()");
    a.c.y localy = paramz.h();
    do
    {
      if (!localy.e()) {
        break;
      }
      c_ localc_ = (c_)localy.j();
      System.out.println("  " + localc_.a + "; " + localc_.b + " // " + localc_.c);
      localy.f();
    } while (i1 == 0);
  }
  
  static class c_
  {
    double a;
    int b;
    int c;
    
    c_(double paramDouble, int paramInt1, int paramInt2)
    {
      this.a = paramDouble;
      this.b = paramInt1;
      this.c = paramInt2;
    }
  }
  
  class a_
  {
    private a.c.z a = new a.c.z();
    
    public a_() {}
    
    public void a(e parame)
    {
      int k = g.Cc;
      int j = g.Bc;
      n.b_ localb_ = (n.b_)n.this.n.get(parame);
      if (k == 0) {
        if (localb_.a) {
          return;
        }
      }
      int i = 0;
      if (i == 0) {
        parame = (e)localb_.e();
      }
      label130:
      while (k != 0)
      {
        if (k == 0)
        {
          if (parame != null)
          {
            localb_ = (n.b_)n.this.n.get(parame);
            if (k == 0)
            {
              if (n.this.l.getBool(parame)) {
                break;
              }
              n.this.a(this.a, n.b_.access$000(localb_));
            }
            if (k != 0) {
              break label130;
            }
            if (j == 0) {
              break;
            }
          }
          i = 1;
        }
        if (j == 0) {
          break;
        }
      }
    }
    
    public boolean b(e parame)
    {
      int k = g.Cc;
      int j = g.Bc;
      n.b_ localb_ = (n.b_)n.this.n.get(parame);
      if (k == 0) {
        if (!localb_.a) {
          return false;
        }
      }
      int i = 0;
      label127:
      do
      {
        do
        {
          do
          {
            do
            {
              if (i != 0) {
                break label134;
              }
              parame = (e)localb_.e();
              if (k != 0) {
                break label129;
              }
              if (parame == null) {
                break label127;
              }
              localb_ = (n.b_)n.this.n.get(parame);
              if (k != 0) {
                break;
              }
            } while (n.this.l.getBool(parame));
            n.this.b(this.a, n.b_.access$000(localb_));
            if (k != 0) {
              break label131;
            }
          } while (j == 0);
          i = 1;
        } while (j == 0);
      } while (k != 0);
      label129:
      label131:
      label134:
      return a();
    }
    
    private boolean a()
    {
      int k = g.Cc;
      int j = g.Bc;
      boolean bool = true;
      int i = 0;
      a.c.y localy = this.a.h();
      localy.i();
      label109:
      do
      {
        if (!localy.e()) {
          break;
        }
        if (j != 0) {
          break label126;
        }
        if (!bool) {
          break;
        }
        n.c_ localc_ = (n.c_)localy.j();
        i += localc_.c;
        if (k == 0) {
          if (localc_.c > 0)
          {
            if (k != 0) {
              break label109;
            }
            if (localc_.b < i) {
              bool = false;
            }
          }
        }
        if (k == 0)
        {
          if (localc_.b < localc_.c) {
            bool = false;
          }
          localy.g();
        }
      } while (j == 0);
      label126:
      return bool;
    }
  }
  
  static class e_
  {
    public final z a;
    public final double b;
    
    e_(z paramz, double paramDouble)
    {
      this.a = paramz;
      this.b = paramDouble;
    }
  }
  
  static class b_
  {
    public boolean a;
    private Object b;
    private int c;
    private int d;
    private Object e;
    private ab f;
    private double g;
    
    public void a(Object paramObject)
    {
      this.b = paramObject;
    }
    
    public Object a()
    {
      return this.b;
    }
    
    public void a(int paramInt)
    {
      this.c = paramInt;
    }
    
    public int b()
    {
      return this.c;
    }
    
    public void c()
    {
      this.c -= 1;
    }
    
    public void c(int paramInt)
    {
      this.d = paramInt;
    }
    
    public int d()
    {
      return this.d;
    }
    
    public void c(Object paramObject)
    {
      this.e = paramObject;
    }
    
    public Object e()
    {
      return this.e;
    }
    
    public void a(a.c.d paramd)
    {
      if (g.Cc == 0) {
        if (this.f == null) {
          this.f = new ab();
        }
      }
      this.f.add(paramd);
    }
    
    public m f()
    {
      if ((g.Cc != 0) || (this.f != null)) {
        return this.f.l();
      }
      return null;
    }
    
    public void a(double paramDouble)
    {
      this.g = paramDouble;
    }
    
    public double g()
    {
      return this.g;
    }
    
    public void h()
    {
      int j = g.Cc;
      int i = g.Bc;
      if (j == 0) {
        if (this.f == null) {
          System.out.println("  no real edges here");
        }
      }
      do
      {
        m localm = this.f.l();
        while (i == 0)
        {
          if (!localm.e()) {
            break;
          }
          System.out.println("  dec.edge() = " + localm.a());
          localm.f();
        }
      } while (j != 0);
    }
  }
  
  class d_
  {
    private ab[] a = new ab[4];
    private int[] b = new int[4];
    private int c = 0;
    private e e;
    private o f;
    
    public d_(e parame, k paramk)
    {
      int i = 0;
      if (i < 4) {}
      do
      {
        this.a[i] = new ab();
        i++;
        if ((k == 0) && (j != 0)) {
          break label104;
        }
        if (j == 0) {
          break;
        }
        this.e = parame;
      } while (k != 0);
      this.f = ((o)this.e.g());
      label104:
      if (paramk != null)
      {
        a(paramk);
        if (k != 0) {
          return;
        }
        if (j == 0) {}
      }
      else
      {
        a();
      }
      b();
    }
    
    private void a(k paramk)
    {
      int i1 = g.Cc;
      int n = g.Bc;
      boolean[] arrayOfBoolean = new boolean[4];
      m localm = this.e.l();
      label174:
      do
      {
        if (!localm.e()) {
          break;
        }
        a.c.d locald = localm.a();
        if (n != 0) {
          break label234;
        }
        if (!n.this.p.getBool(locald))
        {
          int j = this.e == locald.e() ? 1 : 0;
          a.c.z localz = this.f.o(locald);
          int k = localz.size();
          a.d.w localw1;
          a.d.w localw2;
          if (j != 0)
          {
            localw1 = (a.d.w)localz.a(0);
            localw2 = (a.d.w)localz.a(1);
            if (i1 != 0) {
              break label174;
            }
            if (n == 0) {}
          }
          else
          {
            localw1 = (a.d.w)localz.a(k - 1);
            localw2 = (a.d.w)localz.a(k - 2);
          }
          int m = a(localw1, localw2);
          if (i1 != 0) {
            continue;
          }
          if (m != -9)
          {
            this.a[m].add(locald);
            if (i1 != 0) {
              continue;
            }
            if (paramk.getBool(locald)) {
              arrayOfBoolean[m] = true;
            }
          }
        }
        localm.f();
      } while (n == 0);
      label234:
      do
      {
        int i = 0;
        while (n == 0)
        {
          if (i >= 4) {
            break;
          }
          if (i1 == 0)
          {
            if (arrayOfBoolean[i] == 0) {
              this.a[i].clear();
            }
            i++;
          }
        }
      } while (i1 != 0);
    }
    
    private void a()
    {
      int n = g.Cc;
      int m = g.Bc;
      m localm = this.e.l();
      label140:
      do
      {
        if (!localm.e()) {
          break;
        }
        a.c.d locald = localm.a();
        int i = this.e == locald.e() ? 1 : 0;
        a.c.z localz = this.f.o(locald);
        int j = localz.size();
        a.d.w localw1;
        a.d.w localw2;
        if (i != 0)
        {
          localw1 = (a.d.w)localz.a(0);
          localw2 = (a.d.w)localz.a(1);
          if (n != 0) {
            break label140;
          }
          if (m == 0) {}
        }
        else
        {
          localw1 = (a.d.w)localz.a(j - 1);
          localw2 = (a.d.w)localz.a(j - 2);
        }
        int k = a(localw1, localw2);
        if (n == 0)
        {
          if (k != -9) {
            this.a[k].add(locald);
          }
          localm.f();
        }
      } while (m == 0);
    }
    
    private int a(a.d.w paramw1, a.d.w paramw2)
    {
      int k = g.Cc;
      int j = g.Bc;
      double d;
      if (k == 0) {
        if (Math.abs(paramw1.a - paramw2.a) < 0.01D)
        {
          d = this.f.q(this.e) + this.f.t(this.e) / 2.0D;
          if (k == 0) {}
          i = paramw2.b <= d ? 0 : 1;
          if (k != 0) {
            break label182;
          }
          if (j == 0) {
            return i;
          }
        }
      }
      if (k == 0) {
        if (Math.abs(paramw1.b - paramw2.b) < 0.01D)
        {
          d = this.f.p(this.e) + this.f.s(this.e) / 2.0D;
          if (k == 0) {}
          i = paramw2.a <= d ? 2 : 3;
          if (k != 0) {
            break label182;
          }
          if (j == 0) {
            return i;
          }
        }
      }
      int i = -9;
      label182:
      return i;
    }
    
    private void b()
    {
      int i3 = g.Cc;
      int i2 = g.Bc;
      int i = -2147483648;
      int j = -1;
      int k = 2147483647;
      int m = -1;
      int n = 0;
      if (n < 4)
      {
        if ((i3 == 0) && (i2 != 0)) {
          break label136;
        }
        if (i3 == 0) {
          if (this.a[n].size() > i)
          {
            j = n;
            i = this.a[n].size();
          }
        }
      }
      do
      {
        if (i3 == 0)
        {
          if (this.a[n].size() <= k)
          {
            m = n;
            k = this.a[n].size();
          }
          n++;
        }
        if (i2 == 0) {
          break;
        }
        this.b[0] = j;
        this.b[3] = m;
      } while (i3 != 0);
      label136:
      int[] arrayOfInt = { 0, 0 };
      int i1 = 0;
      do
      {
        do
        {
          if (i1 >= 4) {
            break;
          }
          if (i2 != 0) {
            break label231;
          }
          if (i1 != m)
          {
            if (i3 != 0) {
              continue;
            }
            if (i1 != j)
            {
              arrayOfInt[1] = arrayOfInt[0];
              arrayOfInt[0] = i1;
            }
          }
          i1++;
        } while (i2 == 0);
      } while (i3 != 0);
      if (this.a[arrayOfInt[0]].size() > this.a[arrayOfInt[1]].size())
      {
        label231:
        this.b[1] = arrayOfInt[0];
        this.b[2] = arrayOfInt[1];
        if (i3 == 0) {
          if (i2 == 0) {
            return;
          }
        }
      }
      else
      {
        this.b[1] = arrayOfInt[1];
      }
      this.b[2] = arrayOfInt[0];
    }
    
    public void c()
    {
      this.c = 0;
    }
    
    public boolean d()
    {
      int i = g.Cc;
      this.c += 1;
      if ((i != 0) || (this.c >= 0)) {
        if (i != 0) {}
      }
      return this.c < 4;
    }
    
    public ab e()
    {
      return this.a[this.b[this.c]];
    }
    
    public int f()
    {
      return this.b[this.c];
    }
    
    public ab a(byte paramByte)
    {
      ab localab = null;
      switch (paramByte)
      {
      case 1: 
        localab = this.a[0];
        break;
      case 2: 
        localab = this.a[1];
        break;
      case 8: 
        localab = this.a[2];
        break;
      case 4: 
        localab = this.a[3];
      }
      return localab;
    }
    
    public String toString()
    {
      int k = g.Cc;
      int j = g.Bc;
      StringBuffer localStringBuffer = new StringBuffer();
      localStringBuffer.append("[n: ").append(this.e);
      localStringBuffer.append("; sequence = (");
      int i = 0;
      if (i < 3) {}
      for (;;)
      {
        if (k == 0)
        {
          localStringBuffer.append(this.b[i]).append(", ");
          i++;
          if (j == 0)
          {
            if (j == 0) {
              break;
            }
            localStringBuffer.append(this.b[3]).append(")");
            if (k != 0) {
              continue;
            }
            localStringBuffer.append("; currIndex = ").append(this.c).append("]");
          }
        }
      }
      return localStringBuffer.toString();
    }
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.f.l.n

 * JD-Core Version:    0.7.0.1

 */